﻿using System;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000103 RID: 259
	[Serializable]
	public class MotionBlurModel : PostProcessingModel
	{
		// Token: 0x170000A5 RID: 165
		// (get) Token: 0x06000638 RID: 1592 RVA: 0x0002567C File Offset: 0x0002387C
		// (set) Token: 0x06000639 RID: 1593 RVA: 0x00025684 File Offset: 0x00023884
		public MotionBlurModel.Settings settings
		{
			get
			{
				return this.m_Settings;
			}
			set
			{
				this.m_Settings = value;
			}
		}

		// Token: 0x0600063A RID: 1594 RVA: 0x00025690 File Offset: 0x00023890
		public override void Reset()
		{
			this.m_Settings = MotionBlurModel.Settings.defaultSettings;
		}

		// Token: 0x040005ED RID: 1517
		[SerializeField]
		private MotionBlurModel.Settings m_Settings = MotionBlurModel.Settings.defaultSettings;

		// Token: 0x02000104 RID: 260
		[Serializable]
		public struct Settings
		{
			// Token: 0x170000A6 RID: 166
			// (get) Token: 0x0600063B RID: 1595 RVA: 0x000256A0 File Offset: 0x000238A0
			public static MotionBlurModel.Settings defaultSettings
			{
				get
				{
					return new MotionBlurModel.Settings
					{
						shutterAngle = 270f,
						sampleCount = 10,
						frameBlending = 0f
					};
				}
			}

			// Token: 0x040005EE RID: 1518
			[Tooltip("The angle of rotary shutter. Larger values give longer exposure.")]
			[Range(0f, 360f)]
			public float shutterAngle;

			// Token: 0x040005EF RID: 1519
			[Tooltip("The amount of sample points, which affects quality and performances.")]
			[Range(4f, 32f)]
			public int sampleCount;

			// Token: 0x040005F0 RID: 1520
			[Tooltip("The strength of multiple frame blending. The opacity of preceding frames are determined from this coefficient and time differences.")]
			[Range(0f, 1f)]
			public float frameBlending;
		}
	}
}
